From: kfraser@localhost.localdomain Date: Wed, 18 Oct 2006 16:29:08 +0000 (+0100) Subject: [ACM] Fix binary alignment in tools. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15589^2~47 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=81ba8bb990b77f5e573edb09e4d5db084173c65d;p=xen.git [ACM] Fix binary alignment in tools. Signed-off-by: Stefan Berger --- diff --git a/tools/security/secpol_tool.c b/tools/security/secpol_tool.c index 901beae9d5..470de4f25b 100644 --- a/tools/security/secpol_tool.c +++ b/tools/security/secpol_tool.c @@ -43,6 +43,8 @@ fprintf(stderr, "ERROR: " _m " (%d = %s)\n" , ## _a , \ errno, strerror(errno)) +#define ALIGN8(x) (void *)(((long)(x) + 7) & ~7) + void usage(char *progname) { printf("Usage: %s ACTION\n" @@ -182,14 +184,14 @@ void acm_dump_policy_buffer(void *buf, int buflen) ntohl(pol->secondary_buffer_offset)); switch (ntohl(pol->primary_policy_code)) { case ACM_CHINESE_WALL_POLICY: - acm_dump_chinesewall_buffer(buf + - ntohl(pol->primary_buffer_offset), + acm_dump_chinesewall_buffer(ALIGN8(buf + + ntohl(pol->primary_buffer_offset)), ntohl(pol->len) - ntohl(pol->primary_buffer_offset)); break; case ACM_SIMPLE_TYPE_ENFORCEMENT_POLICY: - acm_dump_ste_buffer(buf + ntohl(pol->primary_buffer_offset), + acm_dump_ste_buffer(ALIGN8(buf + ntohl(pol->primary_buffer_offset)), ntohl(pol->len) - ntohl(pol->primary_buffer_offset)); break; @@ -204,14 +206,14 @@ void acm_dump_policy_buffer(void *buf, int buflen) switch (ntohl(pol->secondary_policy_code)) { case ACM_CHINESE_WALL_POLICY: - acm_dump_chinesewall_buffer(buf + - ntohl(pol->secondary_buffer_offset), + acm_dump_chinesewall_buffer(ALIGN8(buf + + ntohl(pol->secondary_buffer_offset)), ntohl(pol->len) - ntohl(pol->secondary_buffer_offset)); break; case ACM_SIMPLE_TYPE_ENFORCEMENT_POLICY: - acm_dump_ste_buffer(buf + ntohl(pol->secondary_buffer_offset), + acm_dump_ste_buffer(ALIGN8(buf + ntohl(pol->secondary_buffer_offset)), ntohl(pol->len) - ntohl(pol->secondary_buffer_offset)); break;